1. Field
Example embodiments relate to a video coding apparatus and method, for example, to an apparatus for and a method of transcoding video, in which, in the transmission of compressed video, the compressed video is transcoded into multiple descriptions in an error-prone environment and is transcoded into a single description in a lower error or errorless environment.
2. Description of the Related Art
With the recent advances in multimedia technologies, bulk transmission of multimedia data including audio, image, and video is common.
In the case of small-sized user terminals, for example, cellular phones or personal digital assistants (PDAs), large quantities multimedia data should be transcoded according to a transmission environment and/or the capability of the user terminal. For example, higher-definition compressed video data (e.g., compressed video) may be transmitted after the bit rate, frame size, frame rate, and/or video format are transcoded.
For example, when a compressed video is transmitted wirelessly, video transcoding should be performed in an error-adaptive manner. In other words, it may be important to transcode the compressed video in an error adaptive-manner according to a transmission channel environment.
Video compression methods, for example, moving picture experts group (MPEG) and H.26x improve compression efficiency using relationships between adjacent information. However, in these video compression methods, when an error occurs in a portion of a compressed video, the error propagates to the surrounding areas, resulting in degradation of video quality.
To address this problem, a method of transcoding a compressed video in an error-adaptive manner according to a channel environment has been used, for example, a method of spatially localizing an error (e.g., a spatial localization method) or a method of temporally localizing an error (e.g., a temporal localization method).
A spatial localization method may prevent the spatial propagation of an error by frequently adding a sync marker, for example, a slice header and/or a group of blocks (GOB) header.
When an error occurs in a slice or a GOB, the error may propagate spatially until it meets a new sync marker. Thus, the spatial localization method limits error propagation to a smaller area by reducing an interval between sync markers.
FIG. 1 is a flowchart illustrating a conventional spatial localization method.
Header information and a motion vector may be decoded from compressed video in operation S101. A new motion vector may be generated for spatial localization and motion compensation may be performed using the new motion vector in operation S103.
A process following the motion compensation is the same as that of a general video compression method. In other words, after data of a motion-compensated block is zigzag-scanned, it may be quantized and discrete cosine transformed (DCTed) in operation S105. The DCTed data may be compressed through entropy-coding in operation S107, thereby completing data transcoding.
A temporal localization method may limit the temporal propagation of an error by changing an inter macroblock using temporal redundancies into an independent intra macroblock.
Motion compensation is typically not used for an intra macroblock. Thus, to avoid error propagation, a temporal localization method may prevent an inter macroblock from referring to a reference frame having an error by changing the inter macroblock to an intra macroblock.
FIG. 2 is a flowchart illustrating a conventional temporal localization method.
A motion vector and a DCT coefficient may be decoded from a compressed video in operation S201. An inter macroblock may be changed into an intra macroblock using the motion vector in operation S203.
Data of the intra macroblock may be zigzag-scanned, quantized and/or DCTed in operation S205. The DCTed data may be compressed through entropy-coding in operation S207, thereby completing data transcoding.
However, the conventional spatial localization method and/or temporal localization method may not effectively reduce or prevent error propagation in an error prone channel environment, resulting in quality degradation of transmitted data (e.g., video).